home *** CD-ROM | disk | FTP | other *** search
- Storm Main features:
-
- GEM-based terminal in a window. Custom font and text routines for
- high-speed operation.
-
- Multiple editing windows and capture buffer window are resizable, and
- moveable. Full word wrap is implemented. With MultiTOS, the number of
- windows is limited only by available memory.
-
- MultiTOS compatible. Uses memory sparingly and releases unused memory back
- to the system.
-
- Uses GEM clipboard for cutting and pasting text.
-
- The script language is interpreted Basic, with powerful command extensions
- for telecommunication. Basic runs in its own window.
-
- Background dialing of multiple phone numbers.
-
- No fixed limit on dial directory entries.
-
- Background file transfer without requiring a reset-proof ramdisk.
-
- File transfer modules are loadable and unloadable.
-
- Terminal emulations are loadable and unloadable.
-
- Windows-style menu dropdowns and hotkeys.
-
- Support for extra serial ports on TT and MegaSTE as well as Falcon serial
- port.
-
- Capture buffer can be active at all times, not just when using terminal
- screen. You can edit or scroll through the capture buffer while continuing
- to capture text from the terminal or while uploading or downloading, or
- dialing phone numbers, or running a Basic program.
-
- Even without MultiTOS, this is a highly multitasking program.
-
- Installation:
-
- Create a folder and extract the contents of the LZH file into it.
-
- STORM.PRG is the terminal program.
- STORM.RSC is the resource file for the program.
-
- Loadable file transfer modules
- BPLUS.TRF: CompuServe BPlus file transfer.
- XYMODEM.TRF: Xmodem and Ymodem.
- ZMODEM.TRF: Zmodem.
-
- Loadable terminal emulations
- VIDTEX.EMU: CompuServe VIDTEX terminal emulation.
- VT100.EMU: VT100 and VT52 terminal emulation.
-
- HELP.INI is a help file for Storm Basic.
-
- As you use the program, other files may be created. They are:
-
- STORM.INI is the initialization file containing all the user defaults.
- STORMKEY.INI contains the keyboard macro definitions.
- DIALDIR.INI contains the dial directory entries.
-
- Double-click on STORM.PRG to run the program. The menu bar and terminal
- window will appear.
-
- The terminal window always occupies a full 80 columns, which is full-width
- on the normal ST monitors. The window is split into two pieces. The bottom
- part is the typeahead window. The typeahead is five lines in ST Monochrome,
- but only a single line in ST Medium resolution.
-
- While you can't size the terminal window, you can move it around and
- overlap it with other windows. You can even close it, and terminal
- activity will continue on.
-
- Using the mouse, you can select text from the terminal window. Just
- position the mouse cursor where you want to start and press down the left
- mouse button. Drag the mouse pointer to the ending location. When you
- release the left mouse button, you will get a popup menu letting you choose
- what to do with the selected text.
-
- "Copy" copies it to the GEM clipboard. "Save" lets you save it as a text
- file. "Xmit" sends it out the serial port. "Upload" copies it to the
- GEM clipboard folder and then uploads it using the Ascii file transfer
- protocol, and "Print" prints it to the parallel port.
-
- To cancel out of the popup menu, press Escape or Undo, or click the left
- mouse button outside the popup menu area.
-
- ====================================================
- Using the Menu bar.
-
- Try pressing Alt-F. The File menu dropdown should appear. Now you can use
- the cursor keys to go up and down through the available menu items. Or,
- use the left and right cursor keys to move to other menu dropdowns. (Note:
- the Desk menu dropdown can only be accessed using the mouse, as it is
- controlled exclusively by GEM).
-
- Pressing the Return key selects the currently highlighted menu selection.
- Escape or Undo exits.
-
- Most menu items also have a keyboard shortcut key, which is underlined.
- For example, press Alt-S (for the Settings menu) and then 'S' (or Alt-S)
- for the Serial Port entry. You should see the serial settings dialog box
- appear.
-
- I think you will find this type of menu keyboard shortcut easier to
- remember than assigning one unique key to every menu selection, because it
- is easier to remember the first letters of words than dozens of wierd
- control-shift-alt key combinations.
-
- Dialog Boxes
-
- If you looked at the serial port setup dialog, you will see that also has
- keyboard shortcuts. Just press Alt-B for 'Baud' and the popup menu for
- baud selection appears. Since there is no editable text in this dialog box,
- you could have just pressed the letter 'B'. Or, click on the button beside
- "Baud Rate".
-
- You can scroll through the baud rate popup menu with the cursor keys, or
- use the mouse. You have three ways to select an entry. Press return to
- select an entry, or click on it with the mouse. Some baud rate entries have
- underlined numbers. Press the appropriate number key to select those
- entries.
-
- To cancel, press Undo, or click the mouse outside the dropdown.
-
- To exit the dialog press Return, or press Undo to cancel and exit.
-
- Many popup menus have the current selection indicated with a checkmark.
- The current selection is highlighted by default, unless the mouse is over
- another entry.
-
- =========================================
- Capture buffer.
-
- The capture buffer is available at any time by selecting it from the
- Window menu, or by the keyboard shortcut ALT-2. (The terminal window
- keyboard shortcut is ALT-1.) The capture window is a GEM-based editor in a
- window. The window can be sized and moved anywhere on the screen. Cut and
- paste uses the GEM clipboard.
-
- You toggle capture on and off by selecting the first item in the Capture
- menu. This item is either "Capture On" or "Capture Off", depending on
- whether the capture is currently on or off. When capture is enabled, a
- plus sign '+' appears beside the Capture menu heading. Note: Capture
- strips out all control codes and escape sequences.
-
- You don't have to have the terminal window on top, or even open, for
- capture to operate. You don't even have to have the capture buffer window
- open. This is particularly useful with high speed modems. You could turn
- capture on, close the terminal window, switch to the capture buffer window,
- and read messages at your own pace.
-
- Editing text
-
- In the capture buffer, or other editing windows, you can use the cursor
- keys to move around. Up and down move up and down one line. Left and right
- move up and down one line. Shift-left moves to the start of the line,
- shift-right moves to the end. Shift-up moves up a screenful of text,
- shift-down moves down a screenful of text.
-
- Clr/Home moves to the start of text, Shift-Clr/Home moves to the end of
- text in an editing window.
-
- You can also position the cursor by using the mouse and clicking where you
- want the cursor to appear.
-
- 'Delete' deletes the character under the cursor, backspace deletes to the
- left of the cursor. Shift-delete deletes to the end of the line.
-
- The number of lines and the current cursor location is displayed in an
- information line at the top of the screen. This information line updates a
- couple of times a second. (Continuous updating would have been too slow.)
-
- Unlike the original Flash, this editor does full wordwrap, whether
- inserting or deleting text. However, pressing the Return key forces a hard
- end of line. Also, the editor will NOT slow down when editing large files,
- and it allocates and releases memory dynamically.
-
- When loading a file, an alert appears asking whether to wrap the text or
- not. The program figures out what should be word wrapped by looking at the
- ends of lines. A single space at the end of a line means a line gets
- wrapped. By default, saving text will leave that space at the end of the
- line whereas trailing spaces get removed from lines with hard returns. So
- most files you save and load can still be wordwrapped.
-
- Unfortunately some files may contain extra spaces at the ends of lines or
- other formatting which should not be wrapped. You can choose not to word
- wrap text files when loading them. In the Edit Window Settings dialog box
- you have three choices for word wrapping when you load a file; Yes, No, and
- Ask. 'Ask' means that an alert box will always appear (after you have
- selected a file to load) asking you if you want to word wrap the file or
- not. Choosing 'Yes' or 'No' in the settings dialog box instead of 'Ask'
- means the alert box will not appear.
-
- This setting is saved separately for the capture buffer, the typeahead,
- and all other edit window, depending on what window is on top when the
- dialog box appears. My recommendation is to set AutoWrap to "Yes" for the
- Capture Buffer, and "Ask" for other edit windows.
-
- Setting tab size and word wrap
-
- The "Editor" selection in the "Settings" menu lets you select tab size and
- line width. I recommend that you leave word wrap at 80 for the capture
- buffer to avoid problems when capturing text.
-
- Cutting and pasting
-
- Move the mouse to where you want the text selection to start. Hold down
- the left mouse button and drag the mouse in the direction you want to
- select text. Moving past the window boundaries will scroll the window.
-
- When you release the mouse button, you get a popup menu of choices; Cut,
- Copy, Save, Delete, Upload, Xmit and Print. 'Cut' copies the text to the
- clipboard and deletes it. 'Copy' copies the text to the clipboard and
- leaves the original text intact. 'Delete' deletes the selected text
- entirely. The other options were described previously for the terminal
- window.
-
- File Menu
-
- "Save" saves the file to the filename it was originally loaded from. If
- there is no filename associated with the window, then you are prompted for
- a filename.
-
- "Save As..." lets you save the text to a file. If the file on disk already
- exists, you get the option of overwriting it, appending the current buffer
- to it, or cancelling.
-
- "Load..." lets you load a new file into the buffer. Any existing text is
- lost.
-
- "Clear" erases the buffer.
-
- "Open" creates a new editing window and then lets you use the file selector
- to load a file into it.
-
- "Open New" creates a new editing window, initially empty.
-
- While there is only one capture buffer, you can have multiple editing
- windows. The number of windows is limited by GEM. With MultiTOS, there is
- no fixed limit.
-
- The File menu choices always act on whatever editing window which is
- currently on top. If the terminal window is on top and the typeahead is
- active, the File menu choices act on the typeahead.
-
- Edit menu
-
- "Paste" pastes the contents of the clipboard into the current editing
- window. It's used when cutting and pasting between windows. Shift-Insert is
- the keyboard shortcut to Paste text.
-
- "Find" searches for text. If you want to search for a hard return, type
- Control-M and a tiny 'c/r' symbol will appear. You can search forwards or
- backwards, and select case-insensitive searches.
-
- "Find Next" continues the previous search.
-
- "Replace" is not yet implemented. This item is always disabled.
-
- Capture menu.
-
- The first item in the capture menu appears as "Capture On" if capture is
- currently off, or "Capture Off" if capture is on. Press ALT-C twice to
- toggle capture on or off.
-
- "Erase Buffer" works just like the "Clear" option in the File menu, except
- it only affects the capture buffer.
-
- "New Capture" turns the capture buffer into a normal editing window and
- creates a new capture buffer window. If you log on to several BBS'S or
- online services, you can create a new capture buffer for each one.
-
- "Save As..." acts like the "Save As..." in the File menu, but only acts on
- the capture buffer. This is useful for saving the capture buffer from the
- terminal screen without having to switch to the capture buffer window.
-
- Window menu
-
- The Window menu lists the available windows you can switch between. The
- first three windows, Terminal, Capture, and Basic, are always available.
- The next seven entries are for editing windows. When you open an editing
- window, it is listed in the Window menu. The final entry is for the File
- Transfer window, which is only active during file transfers.
-
- You may wonder why there are slots for ten windows, when GEM only allows a
- maximum of eight. Well, MultiTOS allows as many windows as memory permits.
- Also, there is a German program that increases the number of windows,
- though I have not been able to get it to work with my MegaSTE.
-
- The Basic command TOPW n will force the specified window to the top. e.g.
- "TOPW 1" puts the terminal window on top.
- =========================================
-
- Settings menu
-
- Serial Port settings should work with all ST's and TT's. Most items should
- be self-explanatory. Just click on the button, or press the keyboard
- equivalent key to either pop up a menu or toggle a selection.
-
- You should always have some sort of flow control enabled. Otherwise, if
- you go into a menu or dialog box, text coming in the serial port will be
- lost. If you are using a high-speed modem, I recommend CTS/RTS, otherwise
- use XON/XOFF. You may need one of the serial patch programs if you have
- one of the many TOS versions with broken serial port routines.
-
- Terminal Settings
-
- BS Erases controls whether backspace just moves the cursor backwards, or
- erases the character as well (in the terminal screen). Other options are
- Half Duplex, Reverse Video, adding line feeds to inbound and/or outbound
- carriage returns, and whether text automatically continues on the next
- line after the end of line is reached.
-
- A popup menu for Emulation lets you choose terminal emulation. Currently
- there are three choices, VT100, Vidtex, and TTY. TTY is a build-in dumb
- terminal emulation.
-
- IMPORTANT NOTE:
- These are default settings that are activated when you first run the
- program. In the dial directory editor you can choose specific terminal
- settings for a particular BBS or online service. When you dial and make a
- connection, your terminal settings are updated to reflect the dial
- directory settings. If you haven't made ANY selections in the dial
- directory editor, then the terminal settings are not changed.
-
-
- Emulations
-
- The terminal emulations dialog box lets you load, unload, and configure
- the loadable terminal emulations. Currently available emulations include
- TTY, VIDTEX, and VT100. There are slots for seven terminal emulations, six
- of which can be loadable. (TTY is always resident).
-
- Click on a slot marked "Empty" and select "Load" to load a new terminal
- emulation.
-
- Click on an occupied slot and you can select Unload or Config. (You cannot
- unload TTY). Selecting Config brings up a configuration dialog box.
-
-
- Typeahead
-
- The typeahead window is located below the terminal screen window. You can
- reach the typeahead window either by clicking the mouse inside it, or by
- pressing the Insert key. Exit the typeahead window with the Escape key.
-
- The typeahead window is actually a full editing window. You can load any
- size file into it (using the File menu) as well as cut and paste to and
- from it. You can compose complete messages inside it.
-
- In the settings menu you can choose one of three keys which will transmit
- the typeahead window out the serial port; Return, Control-Return, or
- Keypad Enter. Once the typeahead is transmitted, the typeahead window is
- cleared.
-
- You can also choose whether carriage returns are added at the end of EACH
- line, or just when hard returns are present. Some conferencing systems
- will accept multiple lines with only one carriage return at the end.
- Others limit lines to 80 characters.
-
- "Prefix" and "Suffix" are text strings that are send at the start and end
- of lines.
-
- All control characters are automatically passed through directly to the
- terminal screen. e.g. Control-S and Control-Q.
-
- =======================================================
-
- Modem Settings.
-
- These are used by the dialer to dial numbers. The default values should
- work for most modems.
-
- Modem Init is sent once only, when you first run the program. Unless your
- modem specifically requires a setup each time you run the program, I
- suggest you leave this blank.
-
- Wait XX seconds for connection allows you to set the delay before the
- carrier detect times out.
-
- Dial Prefix is the dialing command. Dial Suffix is send after the dialing
- command and phone number. It is normally a single carriage return, entered
- using Control-M.
-
- Hardware DCD (Data Carrier Detect) works on all TT, MegaSTE and
- Falcon serial ports.
-
- Inter-Character delay is actually the number of vertical blank periods to
- skip between sending characters to the modem. It should only be necessary
- to set a delay for older modems. Most moderm modems will accept commands
- at full speed.
-
- Keyboard Macros
-
- These let you assign strings to function keys and the cursor keys, both
- normal and shifted. In some cases, terminal emulations may override cursor
- key macros. In any case, the cursor key macros are only active when the
- terminal window is active. The function key macros are active in whatever
- window is currently on top.
-
- Keyboard macros can also be defined as Basic commands. These are also
- available at any time, even if a Basic program is currently running.
-
- Macro strings are recorded in the STORMKEY.INI file. They are indexed
- according to the GEM scan code they produce (in hexidecimal format),
- modified to include information about shift-control-alt key status.
-
- Example:
-
- F1 returns a GEM scancode of 0x3b00 (hexadecimal) and is listed in the
- STORMKEY.INI file under the heading [3b00].
-
- Shift-F1 returns a GEM scancode of 0x5400 (hexadecimal). However, shift is
- represented by 0x30000 (either left or right shift keys or both are
- represented by 0x30000). So Shift-F1 is stored under the heading [35400].
-
- Control is represented by 0x40000, ALT by 0x80000.
-
- What this means is that most keystrokes that can be described by scancode
- and shift-control-alt code can be inserted into the STORMKEY.INI file,
- though there is no user interface for doing this at present - you have to
- do it by hand.
-
- The program first lets the keystroke get interpreted by the currently
- active window. If the window uses/understands the keystroke, for example
- in editing text, or dropping down a menu, then the keystroke is not looked
- up in the STORMKEY.INI table. This is why cursor key macros are only
- active in the terminal window, not in an editing window. Conversely,
- control key macros are inactive in the terminal and typeahead windows.
- Note: You cannot define a macro for any printable Ascii character.
-
- You can also choose whether a keyboard macro is a command for the Basic
- interpreter or not. Macros that are Basic commands actually interrupt any
- Basic program that is running.
-
- How Basic keys macros work.
-
- Storm will create and initialize a new Basic interpreter for the key macro.
- The macro can contain any Basic commands, or a command to run a Basic
- program.
-
- Normally, when the command finishes executing, the Basic interpeter will
- pop back to the previously Basic and continue where it left off. However,
- there are a few cases where this will not happen.
-
- For example, if there is an error when running the program, the program
- will stop and remain in the new Basic interpreter. To exit, type END. The
- same thing happens if you press UNDO or the STOP command is executed.
-
- Another situation that will leave you in the new Basic interpeter is if
- you have a PAUSE, WAIT or other command in the key definition that pauses
- execution. The solution there is to add an END at the end of the key
- definition to ensure that you exit properly.
-
- Note: Keyboard macros interrupt any currently running Basic program, at
- the end of executing the current line, or if the current Basic in a WAIT
- or PAUSE condition. Try defining a function key as "RUN "BUBBLE.BAS" for
- example. You can keep pressing the function key to run new copies of the
- program as much as you want.
-
- ALT-key macro editor.
-
- Lets you define Basic commands for Alt key combinations that are not used
- by the menu bar handler. The Alt key macros are Basic commands by default.
- You can edit the STORMKEY.INI file and manually change the UseBasic entry
- if you must, and the Alt key editor will not set it back to using Basic.
-
- If you want an ALT key macro to always clear the current editor window,
- whether it is the typeahead, capture or whatever, try this:
-
- if Alert(1,"[2][Erase?][Yes|No]")=1 then menu 1,4
-
- Sample macros to hang up the modem.
-
- (hardware method)
- DTR OFF:PAUSE 1:DTR ON:END
- (Software method)
- PAUSE 1:TYPE"+++";:PAUSE 1:END
-
- You need to put END at the end of macros with PAUSE or WAIT or POPUP and
- other commands that don't execute immediately, else the new Basic
- interpreter created for the macro won't exit.
-
- Key macros are limited to 128 characters in length. However, macros
- longer than 70 characters should be restricted to keys which are
- not visible in the function key or alt key dialogs, otherwise the dialog
- procedure will truncate the macro text.
-
- The Find dialog and the Find Next dialog always look at the STORM.INI
- profile
- file [Search] section. This allows keyboard macros of the following form:
-
- The following define Control-S to initiate a new forward search,
- Shift-Control-S for a repeat forward search,
- Control-R to initiate a new reverse search and
- Shift-Control-R for a repeat reverse search.
-
- The \" sequences are absolutely necessary to handle embedded quote
- characters.
-
- If you want the previous search text cleared out, add the statement:
-
- SET \"STORM\",\"Search\",\"Text\",\"\"
- to the appropriate macro.
-
-
- [41f13]
- UseBasic=1
- Key="SET \"STORM\",\"Search\",\"Direction\",1:MENU 2,1"
- ;Control-S prompts for forward search
-
- [71f13]
- UseBasic=1
- Key="SET \"STORM\",\"Search\",\"Direction\",1:MENU 2,2"
- ;Control-Shift-R calls repeat forward search
-
- [41312]
- UseBasic=1
- Key="SET \"STORM\",\"Search\",\"Direction\",0:MENU 2,1"
- ;Control-R prompts for reverse search
-
- [71312]
- UseBasic=1
- Key="SET \"STORM\",\"Search\",\"Direction\",0:MENU 2,2"
- ;Control-Shift-R calls reverse repeat search
-
-
- Storm will automatically ignore these macros in the terminal screen and
- typeahead, since control characters are required for the proper
- operation of these areas.
-
- Some Flash-compatible Alt-key macros.
-
- ALT-A: f$ = FSEL$("\*.BAS",""):IF LEN(f$) THEN RUN f$
- ALT-L: LFEED /
- ALT-P: DUPLEX /
- ALT-Q: CD FSELPATH$("")
- ALT-R: x = DLOAD("XMODEM")
- ALT-T: TOPW 1:MENU 4,2
- ALT-X: MENU 1,10
-
- =======================================
-
- Dial Directory Editor
-
- The dial directory editor is deceptively simple. There are two fields, one
- for the BBS/online service name, another for the phone number. However, if
- you double-click on a name you get a menu of additional choices; Serial
- Setup, Terminal, and Auto-Logon.
-
- Serial Setup lets you specify baud rate and other serial settings.
- However, you cannot specify a particular serial port (on machines with
- extra serial ports.) Instead, the dialer will use whatever serial port is
- currently selected. The reason for this is that most people will probably
- keep their modem on the same serial port, and if you do switch the modem to
- another port, you won't want to have to go through the dial directory and
- change the serial port for every entry.
-
- Terminal lets you specify terminal preferences. e.g. Select Half Duplex
- for Genie but full duplex for most others. These will override any default
- settings you may have made and will be activated when the modem connects.
-
- Auto-Logon lets you specify an auto logon file. This should be the
- filename (without path or drive) of the Basic program that gets run when a
- connection is made. The path for the auto-logon files is selected with the
- Auto-Logon Path button in the dial directory editor.
-
- As with function keys, the auto-logon Basic program is able to interrupt
- any currently running Basic program and run in its own Basic interpreter.
- When the logon finishes, any interrupted Basic program starts running
- again.
-
- The dialer entries are saved in a file named "DIALDIR.INI". That file is
- similar in layout to the storm.ini file so I use much of the same code for
- it.
-
- Each entry is numbered in the DIALDIR.INI file from [1] to the number of
- entries. However, blank entries don't get saved. You can change the serial
- settings and terminal preferences by double clicking on a name. A popup
- menu appears, then you go to the appropriate setup dialog.
-
-
- DIALDIR.INI is saved every time you exit the program if there are changes
- to be saved. Only if you actually set serial port settings or terminal
- preferences are these entered into the dialdir.ini file. That saves a lot
- of file space and simplifies matters if you have a 9600 baud modem and
- always use the same settings.
-
- In the STORM.INI file, in the [Dialer] section, there is a setting for
- Entries. The default is Entries=60. Change this number to add or remove
- the number of available entries in the dial directory editor. The number
- of entries is limited only by memory.
-
- Dialing
-
- To dial, select "Dial" from Dial menu. Select names from the list of
- available entries. You can select more than one name, and the list of
- names will be dialed in order, until a connection is made.
-
- The number of redials is zero by default. You can select 1 to 999 redials
- and the program will redial the list that many times, until a connection
- is made.
-
- Dialing is handled in a vertical blank interrupt. So you can be editing
- files, or whatever, while dialing is going on in the background. However,
- the auto-logon is not done in the background. So if you are busy in the
- menu bar or a file selector or a dialog box and a connection is made, the
- logon will not start till you go back to the main program.
-
- A special feature of Storm is that the dialer auto-logon creates a new copy
- of the Basic interpreter and runs the auto-logon in that copy. When the
- auto-logon terminates, control passes back to the original Basic
- interpreter. This means that you can be in the middle of running a Basic
- program and still dial and auto-logon. This applies even if the Basic
- program was in the middle of a WAIT or PAUSE. However, the WAIT or PAUSE
- will not be in effect during the auto logon. It will pick up where it left
- off when the auto logon finishes.
-
- When the auto-logon finishes, the Basic interpreter it was running it is
- removed and the auto-logon program disappears from memory. However, if
- there was an Basic error, then the auto-logon program will remain in
- memory, together with an error message that will (hopefully) assist you in
- figuring out what went wrong.
-
- =====================================================
-
- File Transfer Setup
-
- File transfer protocols are loaded, unloaded, or configured via the
- "Transfer Protocols" dialog box (Select File Transfer... from the Settings
- Menu.) The transfer protocols included with this version include
- BPLUS.TRF, ZMODEM.TRF and XYMODEM.TRF. The XYMODEM.TRF file handles
- XMODEM, XMODEM-1K, YMODEM, and YMODEM-G protocols. The ZMODEM.TRF file
- handles ZMODEM protocol. The BPLUS.TRF file does CompuServe BPlus file
- transfer protocols including resumable downloads.
-
- Select File Transfer from the Settings menu. Currently loaded protocols
- are listed in the Transfer Protocols dialog box. There are slots for up to
- seven loadable protocol modules, however the first slot is reserved for
- ASCII file transfer, which is a build-in protocol. The empty slots are
- marked with the word 'Empty'.
- For a loaded protocol, the options are Unload and Config. Unload removes
- the loaded protocol from memory. Config brings up the protocol
- configuration dialog box, which is built-in to the transfer protocol
- module.
-
- If you select one of the "Empty" slots then the only available options is
- Load, which brings up a file selector. Choose a transfer module and it
- will be loaded into the blank slot.
-
- Download Path
-
- This button now appears in all the file transfer setup boxes. It brings up
- a file selector that lets you choose the download directory. This sets the
- global download path that applies to all file transfers. i.e. you only
- need to set the download path ONCE, and not in each and every file
- transfer setup.
-
- File Transfers
-
- The File menu includes two menu items, Download and Upload. When you
- select one of these, the program interrogates each file transfer modules
- for a list of available protocols, which it displays in a popup menu.
- There are slots for up to twelve transfer protocols. (BPlus is started
- automatically by CompuServe and so it doesn't appear in the popup menu.)
-
- Depending on the transfer protocol, you may or may not get a file selector
- box. Ymodem and Ymodem-G downloads receive the file name from the sending
- system, so selecting either of them just brings up the file
- transfer window.
-
- Note: Currently you can only pick a single file for uploads and you cannot
- use wildcards. You can use multiple files if you call a protocol
- from Basic.
-
- File transfer information is displayed in a file transfer window, which
- can be moved around the screen and overlapped by other windows. All file
- transfer serial operations are carried out in the vertical blank interrupt,
- which permits background file transfer, with a few limitations.
-
- The transfer protocols use a 64K buffer to hold file data being
- transferred. As the buffer empties (during uploads) or fills (during
- downloads) the main program periodically refills it or empties it as
- appropriate. The only times you can run into problems are if you keep the
- mouse in the menu bar, a file selector, or an alert box for an extended
- period of time so that the transfer buffer fills up (during downloads) or
- empties (during uploads). At 9600 baud, this takes about a minute. At 2400
- baud it takes four minutes. You CAN keep any of the programs dialog boxes
- or up on the screen as long as you wish without interrupting the file
- transfer. If the file is smaller than the transfer buffer, you don't have
- a problem. Obviously, you cannot quit the program during file transfer,
- but you can edit, load, or save files and review the capture buffer. Note:
- The 64K buffer is allocated at the start of a file transfer, and released
- at the end.
-
- This is not a true background file transfer in the sense of Shadow or
- other such background file transfer programs, but on the positive side, it
- doesn't require the setting aside of large amounts of memory for
- reset-proof ramdisks.
-
- When used with MultiTOS, you will be able to switch to other programs and
- the file transfer will continue.
-
- I don't currently have a module for Shadow support because I wanted to
- work out the techniques for my own file transfer modules first. Shadow
- support will simply be another loadable module.
-
- With CompuServe BPlus file download, if a file already exists you get an
- alert box with the options of cancelling the file transfer, overwriting
- the file, or resuming the file transfer. Obviously, you should only resume
- the file transfer if the file transfer was interrupted in the first
- place.
-
- Exiting
-
- When exiting the program, you get a dialog box where you can select
- whether to update the preference file, dial directory, and keyboard
- macros. This is useful if you update these files using the Storm text
- editor and don't want to have what you did overwritten. Or, you may want
- to always come up with the same defaults. The buttons in this dialog box
- are selected only if the corresponding ".INI" file has been changed.
-
- The appropriate section of the STORM.INI file is:
-
- [Exit]
- SaveProfile=n
- SaveDialDir=n
- SaveFunctionKeys=n
-
- If n is zero, then the ".INI" file is marked as "not changed" which means
- that in the exit dialog box, the button corresponding to that file will
- always be cleared.
-
- You can also put in an entry: QuitDialog=0 which will prevent the exit
- dialog from coming up at all. In any case, if none of the INI files have
- been changed, and none of the edit buffers have been changed and not
- saved, the exit dialog will not appear.
-
- If you want to make manual changes to any of the .INI files, the correct
- way is to load the file into the text editor, make the changes, save the
- file, then quit the program and deselect the appropriate "Save" button in
- the exit dialog. Even better, edit the file using a separate text editor.
-
- Zmodem options.
-
- Most of the time you can leave the options alone, but they are offered to
- help you deal with unusual situations and special requirements.
-
- CRC-32
-
- Don't disable this unless you are having problems with a (probably very
- old) Zmodem program. Even programs that don't support 32-bit CRC's should
- know how to use the documented Zmodem way to tell the other size to use
- 16-bit CRC's.
-
- Long Timeouts
-
- You may need to enable this for Genie or other networks. Leave it off
- otherwise, as it may slow down error recovery.
-
- Escape Controls
-
- Only needed for certain networks or environments that choke on control
- codes. Slows down file transmission because two characters are send for
- every control character.
-
- Full Pathnames
-
- Normally, only the bare filename is sent/received and downloaded files are
- placed in the download directory. The full pathname feature may be useful
- if you are transferring files and want certain files to go in specified
- directories. In that case, set the default path to the root of the
- destination drive. e.g. C:\. Zmodem will NOT create directories that don't
- already exist!
-
- Force Binary Mode
-
- When uploading, the program will check the file to see if it's really a
- text file. Any characters over 126 ascii, or wierd control characters, and
- the file gets sent as binary. If you never upload text files with Zmodem,
- or you don't care about carriage return/line feed translation, select this
- option.
-
- Autostart Transfers
-
- This causes downloads to start automatically when the other system sends
- the appropriate message to Storm. Only disable it if you are running on a
- system that sends CAN (Control-X) for reasons other than starting Zmodem.
- Or, if you suffer from a lot of line noise that might generate spurious
- Control-X's.
-
- Note: To force resumption a file download, you should use the Zm. Resume
- options under the "Download" or "Upload" file menu.
-
-
- Upload and Download file management options.
-
- Upload options are commands sent to the receiver telling it how to decide
- whether to actually transfer a file or not. For example, transfer only
- files that are newer or longer. The receiver is free to accept or ignore
- the file management commands.
-
- Normally, it is the job of the file sender to specify file managment.
- Download options can be used to override the file sender commands, or when
- the sender never sends file management commands.
-
- Some of the file management commands rely on comparing file timestamps in
- the source and destinations systems. The file timestamps need to be
- adjusted to GMT (Greenwich Mean Time) for transmission. Storm assumes that
- the ST system file dates are based on the local time zone. In order to
- tell Storm how to adjust the timestamp, you will need to set the
- environment variable TZ to your local time zone, using the ENVIRON command
- (described elsewhere). e.g ENVIRON "TZ=EST5". (You may also be able to set
- the TZ environment variable from the Environment CPX.) The first three
- letters are the abbreviation for your time zone, the digit is the number
- of hours offset from GMT, which is the important part.
-
- The most useful file management commands (in my opinion) are:
-
- 'Overwrite destination'
-
- Always overwrites the destination file, erasing any existing file.
-
- 'Never overwrite'
-
- If the file already exists, skip that file.
-
- 'Change name if file exists'
-
- This protects you from accidentally overwriting a file. Changes the last
- letter of the filename to a digit, starting at '0' and continuing to '9'
- until a filename is found that doesn't already exist. If this fails, skips
- that file.
-
- If you don't choose any file management commands, and the sender doesn't
- specify any either, then the default behaviour is to overwrite the
- destination file, even if it already exists.
-
- Ascii Upload/Download
-
- This is a built-in file transfer. You can configure it through the transfer
- protocols dialog box. There is no progress indicator for Ascii
- transfers, though the Terminal window title bar will display the message
- [Ascii UL] or [Ascii DL] while a transfer is in progress.
-
- Available options for Upload are Strip Line Feeds, Prompting, Pause, and
- Expand Blank Lines. Strip Line Feeds removes line feed characters.
- Prompting lets you specify a prompt, up to four characters long, that the
- program will wait for before sending the next line. You can also specify a
- pause before sending the next line, in units of 1/2 second. It is possible
- to combine the Pause and Prompt settings. If you use both, then the next
- line gets send when the prompt is received or the pause internal expires,
- whichever comes first. By default, the program will wait a maximum of five
- seconds for the prompt before sending the next line, even if Pause is not
- selected. If you have a system that is sometimes slow to respond, specify
- a longer pause and select the Pause button.
-
- Expand Blank Lines sends a single space when a blank line is encountered.
- This is useful with systems that might otherwise ignore a blank line.
-
- Ascii upload strips trailing blanks (except in the case of expanded blank
- lines) to avoid problems with systems that reformat text and would leave
- extra spaces in the middle of lines.
-
- Ascii Download captures raw serial data from the serial port, including all
- escape sequences and control codes. Options for Download include Add Line
- Feeds and Control-Z is End of File. Add Line Feeds is needed if the other
- end doesn't send line feeds and the terminal emulations is adding them.
- Control-Z is End of File is useful if the other end sends a control-z at
- the end of a download.
-
- If you don't use the Control-Z option, then Ascii Download continues until
- you abort the file transfer, either from the menu bar or from Basic.
-
- If you started the Ascii Download from Basic, it may seem at first glance
- that there is no way to abort the transfer since Basic is stuck in the
- DLOAD command waiting for the transfer to complete. The following sample
- program shows how to do it using Basic event trapping. It also illustrates
- the use of WAIT during an event handler.
-
- ON TIMER(2) GOSUB click
- 'Pause briefly before entering event handler to allow transfer to start.
- TIMER ON
- PRINT DLOAD("ASCII","DELETE.ME")
- TIMER CLEAR
- 'N.B. Do NOT clear the timer event inside the timer event subroutine!
- END
-
- 'The following subroutine is entered roughly two seconds after the start
- 'of the program. It waits for the string "end!" to indicate the end of the
- 'file transfer. It then stops further timer events and returns. Soon
- 'thereafter, the DLOAD function exits with a return code of 1, indicating
- 'that one file has been transferred. I have arbitrarily put a five minute
- 'timeout for the wait so that the file transfer will not continue forever.
-
- click:
- WAIT 300,"end!"
- ABORT XFER:'Basic command to stop the file transfer
- TIMER OFF
- RETURN
-
- The reason this method works is that Basic is suspended during file
- transfers, but still checks for event traps. WAIT in an event trap is
- allowed and Ascii Download still allows characters to be processed by
- Basic (using the event trap technique) and in fact still allows capturing
- of text by the capture buffer.
-
- You might think that the TIMER(2) command would cause the "click:"
- subroutine to be called every two seconds, but the timer event is turned
- off automatically when the timer event handler is entered so that while
- the WAIT command is executing, no futher timer events occur.
-
- Ascii Upload is one of the options when selecting text from the terminal
- screen or an editing window. The text is copied to the GEM clipboard as
- "SCRAP.UPL" and then uploaded using all the Ascii Upload settings. The
- "SCRAP.UPL" file is overwritten each time you upload a new block of text
- and is automatically deleted when you exit the program.
-
-
-
-
-